<?

	class Usuario extends Maestra{
	

		const COL_ID	 	= 'IdUsuario';
		const COL_LOGIN 	= 'login';
//		const COL_ROL	 	= 'rol';
		const COL_DEPTO	 	= 'depto';
		const COL_PERSONA	= 'nombre';
		const COL_MAIL		= 'mail';
		const COL_JEFE		= 'IdJefe';
		const COL_ESTADO	= 'estado';
		const COL_DEPTOSIS	= 'depto_sis';

		const DB_NAME = 'usuario';
		
		static public function insertar($aDatos)
		{
			$oCon = self::getInstance();
			$aInsert = Config::insertFormat($aDatos);
			$sSql = "INSERT INTO ".self::DB_NAME." ($aInsert[0]) VALUES ($aInsert[3])";	
//		echo $sSql."<br>";
			if( $oCon->dB->Execute($sSql,$aInsert[2]) )
			{
				$iRetun = $oCon->dB->Insert_ID(); 
			}else{
				$iRetun = 0;
			}
			return $iRetun;		
		}
		
		static public function insertar2($aDatos)
		{
			$oCon = self::getInstance();
			$aInsert = Config::insertFormat($aDatos);
			$sSql = "INSERT INTO ".self::DB_NAME." ($aInsert[0]) VALUES ($aInsert[1])";	
//			echo $sSql."<br>";
			if( $oCon->dB->Execute($sSql) )
			{
				$iRetun = $oCon->dB->Insert_ID(); 
			}else{
				$iRetun = 0;
			}
			return $iRetun;		
		}		
				
		static public function getAll()
		{
			$oCon = self::getInstance();			
			$sSql = "SELECT * FROM ".self::DB_NAME;
			$sSql.= " WHERE ".self::COL_ESTADO."=1";
			$arr = $oCon->dB->GetArray($sSql);
			return $arr;
		}
		
		static public function getAllWRol()
		{
			$oCon = self::getInstance();			
			$sSql = "SELECT * FROM ".self::DB_NAME;
			$sSql.= " WHERE ".self::COL_ESTADO."=1 AND ".self::COL_ROL." != ".Config::TIPO_SIN_ROL;
			$arr = $oCon->dB->GetArray($sSql);
			return $arr;
		}		
		
		static public function getAllByJefe($idJefe)
		{
			$oCon = self::getInstance();			
			$sSql = "SELECT * FROM ".self::DB_NAME;
			$sSql.= " WHERE ".self::COL_ESTADO."=1";
			$sSql.= " AND ".self::COL_JEFE."=".$idJefe;
			$arr = $oCon->dB->GetArray($sSql);
			return $arr;
		}
		
		static public function getById($idUsuario)
		{
			$oCon = self::getInstance();
			$sSql = "SELECT * FROM ".self::DB_NAME;			
			$sSql.= " WHERE ".self::COL_ID."=".$idUsuario;
			$arr = $oCon->dB->GetArray($sSql);
			return $arr;
		}

			static public function getDatos($aDatos="")
		{
			$oModel = self::getInstance();
			$sSql="SELECT usuario.*, rol.nombreRol, rolUsuario.idRol FROM usuario
				   LEFT JOIN rolUsuario ON usuario.idUsuario = rolUsuario.idUsu
				   LEFT JOIN rol ON rol.idRol = rolUsuario.idRol ";			
			if(!empty($aDatos))
			{
				$sWhere = Config::selectFormat($aDatos);
				$sSql.=$sWhere;				
			}
			$arr = $oModel->dB->Execute($sSql);
			$oData = $arr->FetchObj();
			return $oData;
		}

		static public function actualizar($iUser,$aDatos)
		{
			$oCon = self::getInstance();
 			$iRetun = $oCon->dB->AutoExecute(self::DB_NAME, $aDatos, 'UPDATE', self::COL_ID." = $iUser");
			return $iRetun;
		}	

	static public function getBoss($iDepto)
	{
		$oModel= self::getInstance();
		$sSql = "select usuario.IdUsuario,usuario.mail,dependencia.idDependencia,dependencia.nombreDependencia  from usuario 
left join dependencia on (usuario.depto_sis = dependencia.idDependencia)
where usuario.rol=4 and dependencia.idDependencia=".$iDepto;
		$arr = $oModel->dB->Execute($sSql);
		$oData = $arr->FetchObj();
		return $oData;
	}			
		
		
		
		
	}
	
?>	
